Erlang-Style Error Recovery for Concurrent Objects with Cooperative Scheduling

نویسندگان

  • Georg Göri
  • Einar Broch Johnsen
  • Rudolf Schlatte
  • Volker Stolz
چکیده

Re-establishing a safe program state after an error occurred is a known problem. Manually written error-recovery code is both more difficult to test and less often executed than the main code paths, hence errors are prevalent in these parts of a program. This paper proposes a failure model for concurrent objects with cooperative scheduling that automatically re-establishes object invariants after program failures, thereby eliminating the need to manually write this problematic code. The proposed model relies on a number of features of actor-based object-oriented languages, such as asynchronous method calls, co-operative scheduling with explicit synchronization points, and communication via future variables. We show that this approach can be used to implement Erlang-style process linking, and implement a supervision tree as a proof-of-concept.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Erlang Behaviours: Programming with Process Design Patterns

Erlang processes run independently of each other, each using separate memory and communicating with each other by message passing. These processes, while executing different code, do so following a number of common patterns. By examining different examples of Erlang-style concurrency in client/server architectures, we identify the generic and specific parts of the code and extract the generic c...

متن کامل

Fault Tolerance in Concurrent Object-Oriented Software Through Coordinated Error Recovery

This paper presents a scheme for coordinated error recovery between multiple interacting objects in a concurrent objectoriented system. A conceptual framework for fault tolerance is established based on a general object concurrency model that is supported by most concurrent object-oriented languages and systems. This framework integrates two complementary concepts — conversations and transactio...

متن کامل

The concurrent functional programming language

The concurrent functional programming language Erlang is now enjoying a more and more widespread use both within Ericsson Telecom, where it was developed, and also outside the company in industry and academia. We here brieey present why it was developed, what it looks like, where it has been used, a few words about the implementations and recent developments. 1 The development of Erlang Erlang ...

متن کامل

Analyzing Failure Effects and Recovery in ERLANG /OTP systems Project Participants

ERLANG is a concurrent functional language, which has been successfully used for the development of complex telecommunication software within Ericsson. An important feature of ERLANG, which allows to build highly concurrent and still very robust systems, is its in-built support for recovery from failures. An ERLANG system typically creates a large number of processes. OTP provides support for o...

متن کامل

Coordinated Atomic Actions: from Concept to Implementation

The Coordinated Atomic Action (or CA action) concept is a unified scheme for coordinating complex concurrent activities and supporting error recovery between multiple interacting objects in a distributed object-oriented system. It provides a conceptual framework for dealing with different kinds of concurrency and achieving fault tolerance by extending and integrating two complementary concepts ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014